/**
 * @author Eddie
 * @date 2023-10-12
 * 天气相关接口(对外提供，例如大屏)
 */

const router = require("koa-router")();

const outTemperatureMidd = require("../middleware/moji_temperature.js");

const dajinTemperatureMidd = require("../middleware/dajin_airCondition");

const returnData = require("../util/returnstring");

const moment = require("moment");

// 定义路由前缀，没有可不添加
router.prefix("/api/temperature");

// 获取室外温度相关
router.get("/outdoor", async (ctx, next) => {
  // ctx.body = 'get /api/temperature/indoor'

  let re = {
    code: 1,
    data: {},
  };

  // const tempOnTime = {
  // 	condition:'阴',
  // 	conditionId:'13',
  // 	humidity:'87',
  // 	icon:'2',
  // 	pressure:'1015',
  // 	realFeel:'13',
  // 	sunRise:'2023-10-18 06:06:00',
  // 	sunSet:'2023-10-18 17:12:00',
  // 	temp:'13',
  // 	tips:'略微偏凉，还是蛮舒适的。',
  // 	updatetime:'2023-10-18 22:15:08',
  // 	uvi:'1',
  // 	vis:'25300',
  // 	windDegrees:'0',
  // 	windDir:'北风',
  // 	windLevel:'2',
  // 	windSpeed:'1.81'
  // }
  const tempOnTime = await outTemperatureMidd.getTempOnTime();
  // console.log(tempOnTime);

  if (tempOnTime) {
    re.code = 1;
    re.data.temp = tempOnTime.temp ? tempOnTime.temp : "-";
    re.data.humidity = tempOnTime.humidity ? tempOnTime.humidity : "-";
    re.data.condition = tempOnTime.condition ? tempOnTime.condition : "-";
    re.data.icon = tempOnTime.icon ? tempOnTime.icon : "-";
  }

  // const tempAQI = {
  // 	cityName: '沙河口区',
  // 	co: '7',
  // 	coC: '0.7',
  // 	no2: '20',
  // 	no2C: '39.0',
  // 	o3: '13',
  // 	o3C: '43.0',
  // 	pm10: '30',
  // 	pm10C: '30.0',
  // 	pm25: '23',
  // 	pm25C: '16.0',
  // 	pubtime: '1697634000000',
  // 	rank: '97/684',
  // 	so2: '2',
  // 	so2C: '7.0',
  // 	value: '30'
  // }
  const tempAQI = await outTemperatureMidd.getAQI();
  // console.log(tempAQI);

  if (tempAQI) {
    re.code = 1;
    re.data.pm25 = tempAQI.pm25 ? tempAQI.pm25 : "-";
  }
  ctx.body = re;
});

// 获取生活指数
router.get("/outLife", async (ctx, next) => {
  let nowTime = new Date().toLocaleString();

  const specificTime = moment();
  // 获取yyyy-dd-mm格式的日期，用于获取生活指数中的数据
  const currentDate = specificTime.format("YYYY-MM-DD");
  // console.log(currentDate);

  let re = {};
  // 返回服务器时间
  re.date = nowTime;
  re.data = {};

  // 获取生活指数
  const lifeInfo = await outTemperatureMidd.getIndex();
  // console.log(lifeInfo);
  // const lifeInfo = {
  // 	"2023-10-25": [
  // 		{
  // 			"day": "2016-09-01",
  // 			"desc": "建议用露质面霜打底，水质无油粉底霜，透明粉饼，粉质胭脂。",
  // 			"name": "化妆指数",
  // 			"status": "控油"
  // 		},
  // 		{
  // 			"day": "2016-09-01",
  // 			"desc": "感冒容易发生，少去人群密集的场所有利于降低感冒的几率。",
  // 			"name": "感冒指数",
  // 			"status": "易发"
  // 		},
  // 		{
  // 			"day": "2016-09-01",
  // 			"desc": "洗车后，可保持2天车辆清洁，比较适宜洗车。",
  // 			"name": "洗车指数",
  // 			"status": "较适宜"
  // 		},
  // 		{
  // 			"day": "2016-09-01",
  // 			"desc": "易感人群应适当减少室外活动。",
  // 			"name": "空气污染扩散指数",
  // 			"status": "中"
  // 		},
  // 		{
  // 			"day": "2016-09-01",
  // 			"desc": "天气较热，衣物精干简洁，室内酌情添加空调衫。",
  // 			"name": "穿衣指数",
  // 			"status": "热"
  // 		},
  // 		{
  // 			"day": "2016-09-01",
  // 			"desc": "辐射较弱，涂擦SPF12-15、PA+护肤品。",
  // 			"name": "紫外线指数",
  // 			"status": "弱"
  // 		},
  // 		{
  // 			"day": "2016-09-01",
  // 			"desc": "天气较好，且紫外线辐射不强，适宜户外运动。",
  // 			"name": "运动指数",
  // 			"status": "适宜"
  // 		},
  // 		{
  // 			"day": "2016-09-01",
  // 			"desc": "气压小幅波动，可能会影响鱼儿的进食。",
  // 			"name": "钓鱼指数",
  // 			"status": "较适宜"
  // 		}
  // 	]
  // }

  if (lifeInfo) {
    re.code = 1;
    let lifeInfoList = lifeInfo[currentDate];
    // let lifeInfoList = lifeInfo["2023-11-06"];
    // console.log(lifeInfoList);
    for (const item of lifeInfoList) {
      if (item["name"] == "穿衣指数") {
        re.data.clothes_info = item["desc"];
      }
      if (item["name"] == "紫外线指数") {
        re.data.ultraviolet_info = item["desc"];
      }
      if (item["name"] == "空气污染扩散指数") {
        re.data.pm25_info = item["desc"];
      }
    }
  }
  // console.log(re)
  ctx.body = re;
});

// 获取24小时天气
router.get("/outTwentyFour", async (ctx, next) => {
  let re = {
    data: {},
  };
  // 获取天气预警(此部分暂时不用，使用了天气base接口中的信息)
  // const alertInfo = await outTemperatureMidd.getAlert();
  // console.log(alertInfo);
  // const alertInfo = [
  // 	{
  // 		"content": "广州市气象局于09月01日17时28分发布雷雨大风蓝色预警信号，请注意防御。",
  // 		"infoid": 70,
  // 		"level": "蓝色",
  // 		"name": "雷雨大风",
  // 		"pub_time": "2016-09-01 17:46:06",
  // 		"title": "广东省广州市气象台发布蓝色雷雨大风预警",
  // 		"type": "雷雨大风蓝色"
  // 	}
  // ]
  // if (alertInfo) {
  // 	re.code = 1;
  // 	re.data.alert = alertInfo[0]["name"];
  // }

  let minTemp = 0;
  let maxTemp = 0;
  // 获取24小时温度
  const twentyFourTemp = await outTemperatureMidd.getTwentyFourHours();
  // console.log(twentyFourTemp);
  // const twentyFourTemp = [
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-01",
  // 		"hour": "20",
  // 		"humidity": "51",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "21",
  // 		"temp": "23",
  // 		"uvi": "0",
  // 		"windDir": "N",
  // 		"windSpeed": "12"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-01",
  // 		"hour": "21",
  // 		"humidity": "56",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "21",
  // 		"temp": "22",
  // 		"uvi": "0",
  // 		"windDir": "NNW",
  // 		"windSpeed": "11"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-01",
  // 		"hour": "22",
  // 		"humidity": "60",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "20",
  // 		"temp": "22",
  // 		"uvi": "0",
  // 		"windDir": "NNW",
  // 		"windSpeed": "11"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-01",
  // 		"hour": "23",
  // 		"humidity": "62",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "19",
  // 		"temp": "21",
  // 		"uvi": "0",
  // 		"windDir": "NW",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-02",
  // 		"hour": "0",
  // 		"humidity": "62",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "19",
  // 		"temp": "21",
  // 		"uvi": "0",
  // 		"windDir": "NW",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-02",
  // 		"hour": "1",
  // 		"humidity": "63",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "19",
  // 		"temp": "21",
  // 		"uvi": "0",
  // 		"windDir": "NW",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-02",
  // 		"hour": "2",
  // 		"humidity": "66",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "19",
  // 		"temp": "20",
  // 		"uvi": "0",
  // 		"windDir": "NW",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-02",
  // 		"hour": "3",
  // 		"humidity": "68",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "18",
  // 		"temp": "19",
  // 		"uvi": "0",
  // 		"windDir": "NNW",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-02",
  // 		"hour": "4",
  // 		"humidity": "68",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "18",
  // 		"temp": "19",
  // 		"uvi": "0",
  // 		"windDir": "NNW",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-02",
  // 		"hour": "5",
  // 		"humidity": "72",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "18",
  // 		"temp": "19",
  // 		"uvi": "0",
  // 		"windDir": "NNW",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-02",
  // 		"hour": "6",
  // 		"humidity": "71",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "19",
  // 		"temp": "20",
  // 		"uvi": "0",
  // 		"windDir": "NNW",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "少云",
  // 		"date": "2016-09-02",
  // 		"hour": "7",
  // 		"humidity": "65",
  // 		"iconDay": "1",
  // 		"iconNight": "31",
  // 		"pressure": "0",
  // 		"realFeel": "20",
  // 		"temp": "21",
  // 		"uvi": "1",
  // 		"windDir": "NNW",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "少云",
  // 		"date": "2016-09-02",
  // 		"hour": "8",
  // 		"humidity": "57",
  // 		"iconDay": "1",
  // 		"iconNight": "31",
  // 		"pressure": "0",
  // 		"realFeel": "23",
  // 		"temp": "22",
  // 		"uvi": "2",
  // 		"windDir": "NNW",
  // 		"windSpeed": "11"
  // 	},
  // 	{
  // 		"condition": "少云",
  // 		"date": "2016-09-02",
  // 		"hour": "9",
  // 		"humidity": "49",
  // 		"iconDay": "1",
  // 		"iconNight": "31",
  // 		"pressure": "0",
  // 		"realFeel": "25",
  // 		"temp": "24",
  // 		"uvi": "3",
  // 		"windDir": "NNW",
  // 		"windSpeed": "11"
  // 	},
  // 	{
  // 		"condition": "少云",
  // 		"date": "2016-09-02",
  // 		"hour": "10",
  // 		"humidity": "44",
  // 		"iconDay": "1",
  // 		"iconNight": "31",
  // 		"pressure": "0",
  // 		"realFeel": "27",
  // 		"temp": "25",
  // 		"uvi": "4",
  // 		"windDir": "NNW",
  // 		"windSpeed": "11"
  // 	},
  // 	{
  // 		"condition": "少云",
  // 		"date": "2016-09-02",
  // 		"hour": "11",
  // 		"humidity": "42",
  // 		"iconDay": "1",
  // 		"iconNight": "31",
  // 		"pressure": "0",
  // 		"realFeel": "27",
  // 		"temp": "26",
  // 		"uvi": "4",
  // 		"windDir": "NNW",
  // 		"windSpeed": "11"
  // 	},
  // 	{
  // 		"condition": "少云",
  // 		"date": "2016-09-02",
  // 		"hour": "12",
  // 		"humidity": "39",
  // 		"iconDay": "1",
  // 		"iconNight": "31",
  // 		"pressure": "0",
  // 		"realFeel": "28",
  // 		"temp": "27",
  // 		"uvi": "4",
  // 		"windDir": "N",
  // 		"windSpeed": "11"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-02",
  // 		"hour": "13",
  // 		"humidity": "38",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "28",
  // 		"temp": "27",
  // 		"uvi": "3",
  // 		"windDir": "N",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-02",
  // 		"hour": "14",
  // 		"humidity": "37",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "28",
  // 		"temp": "28",
  // 		"uvi": "2",
  // 		"windDir": "N",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-02",
  // 		"hour": "15",
  // 		"humidity": "37",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "28",
  // 		"temp": "28",
  // 		"uvi": "2",
  // 		"windDir": "N",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-02",
  // 		"hour": "16",
  // 		"humidity": "36",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "27",
  // 		"temp": "28",
  // 		"uvi": "1",
  // 		"windDir": "N",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-02",
  // 		"hour": "17",
  // 		"humidity": "39",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "26",
  // 		"temp": "27",
  // 		"uvi": "0",
  // 		"windDir": "SSW",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-02",
  // 		"hour": "18",
  // 		"humidity": "45",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "25",
  // 		"temp": "26",
  // 		"uvi": "0",
  // 		"windDir": "S",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "阴",
  // 		"date": "2016-09-02",
  // 		"hour": "19",
  // 		"humidity": "53",
  // 		"iconDay": "2",
  // 		"iconNight": "2",
  // 		"pressure": "0",
  // 		"realFeel": "24",
  // 		"temp": "25",
  // 		"uvi": "0",
  // 		"windDir": "S",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "少云",
  // 		"date": "2016-09-02",
  // 		"hour": "20",
  // 		"humidity": "62",
  // 		"iconDay": "1",
  // 		"iconNight": "31",
  // 		"pressure": "0",
  // 		"realFeel": "23",
  // 		"temp": "24",
  // 		"uvi": "0",
  // 		"windDir": "S",
  // 		"windSpeed": "9"
  // 	},
  // 	{
  // 		"condition": "少云",
  // 		"date": "2016-09-02",
  // 		"hour": "21",
  // 		"humidity": "62",
  // 		"iconDay": "1",
  // 		"iconNight": "31",
  // 		"pressure": "0",
  // 		"realFeel": "23",
  // 		"temp": "23",
  // 		"uvi": "0",
  // 		"windDir": "S",
  // 		"windSpeed": "6"
  // 	}
  // ];

  if (twentyFourTemp) {
    for (const item in twentyFourTemp) {
      if (item == 0) {
        minTemp = Number(twentyFourTemp[item]["temp"]);
        maxTemp = Number(twentyFourTemp[item]["temp"]);
      } else {
        if (minTemp > Number(twentyFourTemp[item]["temp"])) {
          minTemp = Number(twentyFourTemp[item]["temp"]);
        }
        if (maxTemp < Number(twentyFourTemp[item]["temp"])) {
          maxTemp = Number(twentyFourTemp[item]["temp"]);
        }
      }
    }
    re.code = 1;
    re.data.temp_day = maxTemp;
    re.data.temp_night = minTemp;
  }
  ctx.body = re;
});

router.get("/indoor", async (ctx, next) => {
  let data = await dajinTemperatureMidd.getQuality();
  console.log("data", data);
  ctx.body = returnData(100000, data[0], "");
});

module.exports = router;
